﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main()
//{
//	unsigned int num = 10;
//	//00000000000000000000000000001010-原码-反码-补码
//	
//	int count = 0;
//	/*while (num)
//	{
//		if (num % 2 == 1)
//			count++;
//		num = num / 2;
//	}
//	printf("二进制中1的个数 = %d\n", count);*/
//	printf("%u", num);
//	return 0;
//}
//int main()
//{
//	unsigned int n = 0;
//	scanf("%d", &n);
//	printf("%d", n);
//	return 0;
//}
//不允许创建临时变量，交换两个整数的内容
//int main()
//{
//	int a = 3;
//	int b = 5;
//	a = a + b;
//	b = a - b;
//	a = a - b;
//	printf("a=%d\n", a);
//	printf("b=%d", b);
//	return 0;
//}
//int main()
//{             //a^a=0   //a^0=a  一样则为0，不一样则为1；
//	int a = 3;
//	int b = 5;
//	a = a ^ b;
//	b = b ^ a;
//	a = a ^ b;
//	printf("a=%d\n", a);
//	printf("b=%d", b);
//	return 0;
//}
//统计二进制中1的个数
//int main()
//{
//	unsigned int n = 0;
//	scanf("%d", &n);
//	int count = 0;
//	while (n) {
//		if (n % 2 == 1)
//			count++;
//		n /= 2;
//	}
//	printf("%d", count);
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int count = 0;
//	for (int i = 0; i < 32; i++)
//	{
//		if ((1 << i) & n)    //让1的二进制向左移动，让它去和n的二进制位依次对齐，如&果对上了那么
//			count++;         //if语句那么它就不是0，可计数一次，反之没对上，if语句条件为0（假），则不计数
//	}
//	printf("%d", count);
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int count = 0;
//	for (int i = 0; i < 32; i++)       
//	{
//		if ((n>>i) & 1 == 1)     //让n的二进制位向右边走，让最右边的二进制位与一对齐，用&判断，
//			count++;             //相同则为1，不同则为0，如果算出来的是一那么，说明最后一个二进制为是一。
//	}
//	printf("%d", count);
//	return 0;
//}
// 搞个函数返回二进制一的个数
//int yigeshu(int x) {
//	
//	int count = 0;
//	for (int i = 0; i < 32; i++)
//	{
//		if ((x >> i) & 1 == 1)
//			count++;
//
//	}
//	return count;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	printf("%d", yigeshu(n));
//	return 0;
//}
// //求两个数二进制中不同位的个数
//int main()
//{
//	int x = 0;
//	int y = 0;
//	scanf("%d%d", &x, &y);     
//	int p = x ^ y;    //相同为0，相异为1
//	int count = 0;
//	for (int i = 0; i < 32; i++)   //转化为计算p中二级制为1有几个的问题
//	{
//		if ((1 << i) & p)
//			count++;
//	}
//	printf("%d与%d相同的二进制为有%d个", x, y, count);
//	return 0;
//}